package com.sample.thread.safe;

import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Date;

/**
* @comments 
* @author  zg
* @date 2021年3月12日
*/
public class TimeUtils {
	
	/** 错误的使用方式，有线程安全问题 */
	private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	
	private static DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm:ss");

	/**
	 * 错误的使用方式，有线程安全问题
	 * @author zg
	 * @date 2021年3月12日 
	 * @param date
	 * @return
	 */
	public static String formatNoFafe(Date date) {
		
		return sdf.format(date);
	}

	/**
	 * 使用1.8提供的日期时间API
	 * @author zg
	 * @date 2021年3月12日 
	 * @param date
	 * @return
	 */
	public static String formatSafe(Date date) {
		LocalDateTime ldt = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
		return ldt.format(dtf);
	}
	
}
